MIME-Version: 1.0
Server: CERN/3.0
Date: Monday, 16-Dec-96 23:52:38 GMT
Content-Type: text/html
Content-Length: 8850
Last-Modified: Monday, 11-Mar-96 17:19:37 GMT

<HTML>

<HEAD>
<TITLE>CS472 Fall 95 Course Materials</TITLE>
</HEAD>

<BODY>

<H1>
CS472 Fall 1995<br>
Foundations of Artificial Intelligence<br>
Course Materials
</H1>

<HR>

<UL>
<LI><!WA0><!WA0><!WA0><!WA0><A HREF="#1">CS472 Handouts</A>
<LI><!WA1><!WA1><!WA1><!WA1><A HREF="#2">CS472 Lecture Notes</A>
<LI><!WA2><!WA2><!WA2><!WA2><A HREF="#3">CS472 Homeworks and Solutions</A>
<LI><!WA3><!WA3><!WA3><!WA3><A HREF="#4">CS473 Handouts and Project Information</A>
<LI><!WA4><!WA4><!WA4><!WA4><A HREF="#5">CS473 Lisp Labs</A>
<LI><!WA5><!WA5><!WA5><!WA5><A HREF="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/present.html">CS473 Presentation Schedule</A>
</UL>

<HR>

<H2><A NAME = "1">CS472 Handouts</a></H2>

<!WA6><!WA6><!WA6><!WA6><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/handouts/syllabus.ps">
<bf>(Tentative) Course Syllabus </bf><em> (last modified 10/3)</em></a><br>

<HR>

<H2><A NAME = "2">CS472 Lecture Notes</a></H2>

<p>
<H3><em>Introduction to AI</em></H3>

<!WA7><!WA7><!WA7><!WA7><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture01.ps">
<bf>(Sep 01)</bf>  Defining Artificial Intelligence</a><br>
<!WA8><!WA8><!WA8><!WA8><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture02.ps">
<bf>(Sep 04)</bf>  Knowledge Representation: Semantic Networks and Frames</a><br>

<p>
<H3><em>Problem-Solving as Search</em></H3>

<!WA9><!WA9><!WA9><!WA9><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture03.ps">
<bf>(Sep 06)</bf>  State Space Search, Iterative Deepening</a><br>
<!WA10><!WA10><!WA10><!WA10><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture04.ps">
<bf>(Sep 08)</bf>  Heuristic Search: hill-climbing, simulated annealing </a><br>
<!WA11><!WA11><!WA11><!WA11><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture05.ps">
<bf>(Sep 11)</bf>  Heuristic Search: beam search, best-first search</a><br>
<!WA12><!WA12><!WA12><!WA12><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture06.ps">
<bf>(Sep 13)</bf>  Optimal Search: A*</a><br>
<!WA13><!WA13><!WA13><!WA13><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture07.ps">
<bf>(Sep 15)</bf>  Adversarial Search</a><br>
<!WA14><!WA14><!WA14><!WA14><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture08.ps">
<bf>(Sep 18)</bf>  Alpha-Beta Pruning </a><br>

<p>
<H3><em>Rule-Based Reasoning</em></H3>

<!WA15><!WA15><!WA15><!WA15><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture09.ps">
<bf>(Sep 20) </bf> History of Game-Playing; Components of Rule-Based Systems</a><br>
<bf>(Sep 22) </bf> NO CLASS</bf><br>
<!WA16><!WA16><!WA16><!WA16><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture10.ps">
<bf>(Sep 25) </bf> Algorithms for Forward and Backward Chaining </bf></a><br>
<bf>(Sep 27) </bf> NO CLASS </bf><br>
<!WA17><!WA17><!WA17><!WA17><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture11.ps">
<bf>(Sep 29) </bf> Conflict Resolution; Expert Systems </bf></a><br>

<p>
<H3><em>Machine Learning</em></H3>


<!WA18><!WA18><!WA18><!WA18><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture12.ps">
<bf>(Oct 2) </bf> Introduction to Machine Learning </bf></a><br> 
<!WA19><!WA19><!WA19><!WA19><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture13.ps">
<bf>(Oct 4) </bf> Instance-Based Learning, Decision Tree Induction </bf></a><br>
<!WA20><!WA20><!WA20><!WA20><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture14.ps">
<bf>(Oct 6) </bf> Learning as Search </bf></a><br>
<bf>(Oct 9) </bf> FALL BREAK  </bf><br>
<!WA21><!WA21><!WA21><!WA21><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture15.ps">
<bf>(Oct 11) </bf> The Version Space Algorithm </bf></a><br>
<!WA22><!WA22><!WA22><!WA22><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture16.ps">
<bf>(Oct 13) </bf>  Neural Nets (backprop) </bf></a><br>
<!WA23><!WA23><!WA23><!WA23><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture17.ps">
<bf>(Oct 16) </bf> Neural Nets II, Intro to Genetic Algorithms </bf></a><br>
<!WA24><!WA24><!WA24><!WA24><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture18.ps">
<bf>(Oct 18) </bf> Genetic Algorithms </bf></a><br>
<bf>(Oct 20) </bf> MIDTERM </bf><br>

<p>
<H3><em>Knowledge Representation and Inference</em></H3>

<!WA25><!WA25><!WA25><!WA25><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture19.ps">
<bf>(Oct 23) </bf> Representing Knowledge in First-Order Logic  </bf></a><br>
<!WA26><!WA26><!WA26><!WA26><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture20.ps">
<bf>(Oct 25) </bf> Inference in First-Order Logic  </bf></a><br>
<!WA27><!WA27><!WA27><!WA27><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture21.ps">
<bf>(Oct 27) </bf> Resolution Theorem Proving  </bf></a><br>
<!WA28><!WA28><!WA28><!WA28><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture22.ps">
<bf>(Oct 30) </bf> Logical Reasoning Systems  </bf></a><br>

<p>
<H3><em>Planning</em></H3>

<!WA29><!WA29><!WA29><!WA29><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture23.ps">
<bf>(Nov 01) </bf> Planning: Introduction </bf></a><br>
<!WA30><!WA30><!WA30><!WA30><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture24.ps">
<bf>(Nov 03) </bf> Partial-Order Planning  </bf></a><br>
<!WA31><!WA31><!WA31><!WA31><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture25.ps">
<bf>(Nov 06) </bf> Hierarchical Decomposition </bf></a><br>


<p>
<H3><em>Uncertain Knowledge and Reasoning</em></H3>

<!WA32><!WA32><!WA32><!WA32><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture26.ps">
<bf>(Nov 8) </bf> Abduction and Bayes Rule  </bf></a><br>
<!WA33><!WA33><!WA33><!WA33><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture27.ps">
<bf>(Nov 10) </bf> Belief Networks  </bf></a><br>
<!WA34><!WA34><!WA34><!WA34><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture28.ps">
<bf>(Nov 13) </bf> Constructing Belief Networks  </bf></a><br>
<!WA35><!WA35><!WA35><!WA35><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture29.ps">
<bf>(Nov 15) </bf> Inference in Belief Networks  </bf></a><br>

<p>
<H3><em>Natural Language Understanding</em></H3>
<!WA36><!WA36><!WA36><!WA36><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture30.ps">
<bf>(Nov 17) </bf> Ambiguity in Language, Stages of Processing  </bf></a><br>
<!WA37><!WA37><!WA37><!WA37><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture31.ps">
<bf>(Nov 20) </bf> Syntactic Analysis as State-Space Search  </bf></a><br>
<bf>(Nov 22) </bf> NO CLASS  </bf><br>
<bf>(Nov 24) </bf> THANKSGIVING BREAK  </bf><br>
<!WA38><!WA38><!WA38><!WA38><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture32.ps">
<bf>(Nov 27) </bf> A Bottom-Up Chart Parser </bf></a><br>
<!WA39><!WA39><!WA39><!WA39><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture33.ps">
<bf>(Nov 29) </bf> Semantic Analysis: Conceptual Analysis  </bf></a><br>
<!WA40><!WA40><!WA40><!WA40><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture34.ps">
<bf>(Dec 1) </bf> Conceptual Analyzers Today (CIRCUS); The Problem of
Inference </bf></a><br>
<!WA41><!WA41><!WA41><!WA41><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture35.ps">
<bf>(Dec 4) </bf> Inference and Scripts </bf></a><br>
<p>

<H3><em>Putting It All Together</em></H3>
<!WA42><!WA42><!WA42><!WA42><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/lectures/lecture36.ps">
<bf>(Dec 6)  </bf> NLP and Learning and Planning</bf></a> and Selected Project Presentations <br>
<bf>(Dec 8)  </bf> Selected CS473 Project Presentations  </bf><br>

<HR>
<H2><A NAME = "3">CS472 Homeworks and Solutions</a></H2>

This section intentionally left blank...

<HR>
<H2><A NAME = "4">CS473 Handouts and Project Information</a></H2>

<!WA43><!WA43><!WA43><!WA43><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/handouts/projects.ps">
<bf> Course Syllabus and Project Information</bf> </a><br>
<!WA44><!WA44><!WA44><!WA44><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/handouts/project-proposals.ps">
<bf> Project Ideas and Proposal Format </bf> </a><br> 
<!WA45><!WA45><!WA45><!WA45><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/handouts/project-submission.ps">
<bf> ***Final Project Submission***: what, where, when, etc. </bf> </a><br> <br>

Examples of code with <em> good procedural and data abstraction</em> as well
as good, consistent indentation. <br>
Courtesy of Ed Wayt and Oumi Mehrotra. <br>
   <ul> <li> <!WA46><!WA46><!WA46><!WA46><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/labs/wayt-gene.lisp">gene.lisp </a><br> 
        <li> <!WA47><!WA47><!WA47><!WA47><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/labs/wayt-genetic.lisp">genetic.lisp </a><br> 
   </ul>

<bf>Getting Started with the Project:</bf>  It will be easier if you write
your code in stages. As a result, you'll have to turn in your code for review
regularly --- whether or not it's running. 30% of your final grade is based
on these intermediate code reviews. Here is how I'd suggest working on the
code. (If, for some reason, you think that your particular project doesn't fit
well into the structure below, let me know and we'll create a personalized
schedule that does...) <br>

   <ul> <li> First, think about the major ``modules'' that your project requires and the
knowledge structures (e.g., rules, state descriptions, board representations) that you'll
need (including any related constructor functions and accessor functions --- as described by
Winston in our main text). Implement the modules   as ``stubs,'' i.e., lisp functions that
have no substantive code, but that specify all of the necessary parameters and that make calls
to the appropriate module stubs.  Write the code to implement your (generic) knowledge
structures. <br><em> (completed for code review 1, 31 Oct) </em> <br>

    <li> Get the system running from beginning to end as soon as possible --- just on a
simple example. This will invariably require making many simplifying
assumptions. <br> <em> (completed for code review 2, 14 Nov)</em> <br>
 
    <li> Design and implement the inference engine or control strategies needed for your
system. E.g., specific search strategy, rule interpreter, move generator,
learning algorithm. <br><em> (completed for code review 3, 27 Nov) </em> <br>

    <li> Incrementally remove the simplifying assumptions by adding the
necessary code. Evaluate the system appropriately. <br> <em> (by project end) </em> <br>
    </ul>

<!WA48><!WA48><!WA48><!WA48><A href="http://www.math.uio.no:80/cltl/clm/clm.html">
<bf> Common Lisp The Language, Guy Steele</bf> </a><br>
<!WA49><!WA49><!WA49><!WA49><A href="http://www.cs.cmu.edu:80/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/0.html">
<bf> Common Lisp Resouces from CMU AI Repository (including the Lisp FAQ)</bf> </a><br>

<HR>
<H2><A NAME = "5">CS473 Lisp Labs</a></H2>

<!WA50><!WA50><!WA50><!WA50><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/labs/lab01.ps">
<bf>Lab 1, Sep 12</a></bf> Lists, taking lists apart, firing up Lisp  <em> (due Sep 15) </em><br> 
<!WA51><!WA51><!WA51><!WA51><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/labs/lab02.ps">
<bf>Lab 2, Sep 19</a></bf> More primitives, edit-eval loop, procedures <em> (due Sep 22) </em><br> 
<!WA52><!WA52><!WA52><!WA52><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/labs/lab02-sol.txt">
<bf>Lab 2 solution</a></bf> Shows how to declare global variables; example of
reasonable indentation and documentation.<br> 
<!WA53><!WA53><!WA53><!WA53><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/labs/lab03.ps">
<bf>Lab 3, Sep 26</a></bf> Conditionals, recursion, procedural abstraction
<em> (due Sep 29) </em>
<!WA54><!WA54><!WA54><!WA54><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/labs/lab03-sol.txt"><br>
<bf>Lab 3 solution</a></bf> Example of reasonable indentation. <br>    
<!WA55><!WA55><!WA55><!WA55><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/labs/lab04.ps">
<bf>Lab 4, Oct 3</a></bf> Data abstraction, mapping, iteration <em> (due Oct 6)</em><br> 
<!WA56><!WA56><!WA56><!WA56><A href="http://www.cs.cornell.edu/Info/Courses/Fall-95/CS472/labs/lab05.ps">
<bf>Lab 5, Oct 17</a></bf> I/O, debugging, structures, CLOS <em> (due Oct 23) </em><br> 

<hr>

<!WA57><!WA57><!WA57><!WA57><A
href="http://www.cs.cornell.edu/Info/Courses/Current/CS472/cs472.html">Return
to CS472 home page</a>
